package com.tentative.competition.common.model.schedule.param;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tentative.competition.common.enums.ScheduleStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @auther: Smile Huang
 * @date: 2023/6/24 18:20
 * @desc:
 * @version: 2.0
 */
@Data
public class ScheduleAdminParam {

    private Long id;

    @NotNull(message = "赛程标题不能为空")
    @ApiModelProperty("赛程标题")
    private String scheduleTitle;

    @ApiModelProperty("赛程简介")
    private String scheduleIntro;

    @ApiModelProperty("报名截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyEndTime;

    @ApiModelProperty("作品上传截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date worksUpEnTime;

    @ApiModelProperty("评审时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reviewTime;

    @ApiModelProperty("评审月份")
    private String reviewMonth;

    @ApiModelProperty("评审周期")
    private String reviewCycle;

    @ApiModelProperty("颁奖日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date presentationTime;

    @ApiModelProperty("赛程公告")
    private String scheduleNotice;

    @ApiModelProperty("赛程logo-附件ID")
    private Long scheduleLogo;

    @ApiModelProperty("赛程承诺书-附件ID")
    private Long scheduleLetter;

    @NotNull(message = "赛程标签不能为空")
    @ApiModelProperty("赛程标签")
    private String scheduleLabel;

    @NotNull(message = "赛程状态不能为空")
    @ApiModelProperty("赛程状态（进行中-已完成 ）")
    private ScheduleStatusEnum scheduleStatus;

    private Integer delFlag = 0;

    @NotNull(message = "赛程开始时间不能为空")
    @ApiModelProperty("赛程开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date scheduleStart;

    @NotNull(message = "赛程结束时间不能为空")
    @ApiModelProperty("赛程结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date scheduleEnd;

}
